home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 2002 January / PC Answers January 2002.7z / PC Answers January 2002.bin / graphics / freepixl / _SETUP.1 / Twaindev.pxl < prev    next >
Text File  |  2000-04-17  |  7KB  |  250 lines

  1. Initialize:
  2.     UseCoordinates(PIXEL) 
  3.     SetColorPalette(BITMAP)
  4.     Title$ = "PiXCL 4.40 TWAIN device support"
  5.     UseCaption(Title$)
  6.     WinAdjustRect(150,200,880,635,MENU,wx1,wy1,wx2,wy2)
  7.     WinLocate(Title$,wx1,wy1,wx2,wy2,Res)  {100,100,880,635}
  8.     WinShow(Title$,TOPMOST,Res)
  9.     ImageFile$ = ""
  10.     UseBackground(TRANSPARENT,166,166,166)
  11.     DrawBackground
  12.     DirGet(SourceDir$)
  13.     DirGetWindows(WinDir$)
  14.     DigiCamDir$ = WinDir$ + "\twain_32\dc120"
  15.  
  16.     Image1$ = SourceDir$ + "\brsfbnd1.bmp"
  17.     Image2$ = SourceDir$ + "\brsfbnd2.bmp"
  18.     Image3$ = SourceDir$ + "\brsfbnd3.bmp"
  19.     Image4$ = SourceDir$ + "\brsfbnd4.bmp"
  20.     Image5$ = SourceDir$ + "\brsfbnd5.bmp"
  21.     Image7$ = SourceDir$ + "\brsfbnd7.bmp"
  22.     Image8$ = SourceDir$ + "\brsfc754.bmp"
  23.     Image9$ = SourceDir$ + "\brstclas.bmp"
  24.     Image10$ = SourceDir$ + "\brstgrid.bmp"
  25.     Image11$ = SourceDir$ + "\brstrans.bmp"
  26.     Image12$ = SourceDir$ + "\brstran1.bmp"
  27.     Image13$ = SourceDir$ + "\tw_image.bmp"
  28.     
  29.     Chr(13,CR$)
  30.     UseFont("MS Sans Serif",11,23,NOBOLD,NOITALIC,NOUNDERLINE,255,0,0)
  31.     InitFile$ = "*.bmp"
  32.  
  33.     InfoMenu(REMOVE)
  34.     WaitInput(100)
  35.     SetMenu("&File",IGNORE,
  36.         "&Manager Available",DeviceAvailable,
  37.         "&Select Source...",SelectDevice,
  38.         "&Acquire to List.",AcquireAnImage1,
  39.         "Parameters",BitmapParameters,
  40.         "Acquire to Clipboard",AcquireAnImage2,
  41.         "Empty Clipboard",ClearClipboard,
  42.         "Acquire to File",AcquireAnImage3,
  43.         SEPARATOR,
  44.         "Add a bitmap",AddBitmap,
  45.         "Show Image List",ListList,
  46.         "Free Image List",FreeList,
  47.         SEPARATOR,
  48.         "E&xit",Leave,
  49.         ENDPOPUP,
  50.         "TWAIN States",IGNORE,
  51.         "Run Test",RunStateTest,
  52.         ENDPOPUP)
  53.  
  54.     StatusWindow(ENABLE,BOTTOM,2,250,-1,0,0)
  55.     DrawStatusWinText(0,"")
  56.     UseBackground(TRANSPARENT,166,166,166)
  57.     DrawBackground
  58.  
  59.  
  60. Wait_for_Input:
  61.     WaitInput()
  62.  
  63. Leave:
  64.     TWAIN_CloseSourceManager(Res)
  65.     TWAIN_UnloadSourceManager(Res)
  66.     End
  67.  
  68.  
  69. RunStateTest:
  70.     WinShow(Title$,NOTOPMOST,Res)
  71.     DrawBackground
  72.     TWAIN_GetState(Res)
  73.     DrawText(10,10,"Initial SM State") DrawNumber(150,10,Res)
  74.  
  75.     TWAIN_LoadSourceManager(Res)
  76.     TWAIN_GetState(Res)
  77.     DrawText(10,30,"Loaded SM State") DrawNumber(150,30,Res)
  78.  
  79.     TWAIN_OpenSourceManager(Res)
  80.     TWAIN_GetState(Res)
  81.     DrawText(10,50,"Opened SM State") DrawNumber(150,50,Res)
  82.  
  83.     TWAIN_OpenDefaultSource(Res)
  84.     If Res = 0 Then Beep
  85.     TWAIN_GetState(Res)
  86.     DrawText(10,70,"Opened S State") DrawNumber(150,70,Res)
  87.  
  88.     TWAIN_EnableSource(Res)
  89.     TWAIN_GetState(Res)
  90.     DrawText(10,90,"Enabled S State") DrawNumber(150,90,Res)
  91.  
  92.     TWAIN_AcquireNative(Image13$,ANYTYPE,Handle)
  93.     WaitInput(2000)
  94.     TWAIN_GetState(Res)
  95.     DrawText(10,110,"Acquire State") DrawNumber(150,110,Res)
  96.     
  97.     TWAIN_DisableSource(Res)
  98.     TWAIN_GetState(Res)
  99.     DrawText(10,130,"Disabled S State") DrawNumber(150,130,Res)
  100.  
  101.     TWAIN_CloseSourceManager(Res)
  102.     TWAIN_GetState(Res)
  103.     DrawText(10,150,"Closed State") DrawNumber(150,150,Res)
  104.  
  105.     TWAIN_UnLoadSourceManager(Res)
  106.     TWAIN_GetState(Res)
  107.     DrawText(10,170,"Unloaded State") DrawNumber(150,170,Res)
  108.  
  109.     WinShow(Title$,TOPMOST,Res)
  110.     Goto Wait_for_Input
  111.  
  112. DeviceAvailable:
  113.     DrawBackground
  114.     TWAIN_IsAvailable(Res)   DrawText(10,10,"Source Manager Available")   DrawNumber(270,10,Res)
  115.     TWAIN_PXLVersion(Res)  DrawText(10,30,"PXLtwain.dll version")   DrawNumber(270,30,Res)
  116.     TWAIN_RegisterApp(4,14,100,100,"4.20","VYSOR","PiXCLTools","PiXCL")
  117.     Goto Wait_for_Input
  118.  
  119. SelectDevice:
  120.     DrawStatusWinText(0,"Loading TWAIN_32 Source Manager...")
  121.     WaitInput(1)
  122.     UseCursor(WAIT)
  123.     TWAIN_LoadSourceManager(Res)
  124.     TWAIN_OpenSourceManager(Res)
  125.     UseCursor(ARROW)
  126.     TWAIN_SelectSource(Res)    { displays the Select Source dialog, selection is maintained}
  127.     DrawStatusWinText(0,"")
  128.     Goto Wait_for_Input
  129.  
  130. AcquireAnImage1:
  131.     TWAIN_UnloadSourceManager(Res)
  132.  
  133.     DrawBackground
  134.     DrawStatusWinText(0,"Enable source and acquire an image...")
  135.     WaitInput(1)
  136.     WinShow(Title$,NOTOPMOST,Res)
  137.     UseCursor(WAIT)
  138.     TWAIN_EnableSource(Res)
  139.     TWAIN_AcquireNative(Image13$,ANYTYPE,Handle)
  140.     If Handle = 0 Then DrawStatusWinText(0,"Acquire Failed")
  141.     If Handle <> 0 Then DrawStatusWinText(0,"Acquire Successful")
  142.     UseCursor(ARROW)
  143.     ListLoadedBitmaps(List$,CR$,Count)
  144.     If Count > 0
  145.         {MessageBox(OK,1,INFORMATION,List$,"Loaded bitmaps",Res)}
  146.         {ConvertColorSpace(INDEXED,NONE,Res)}
  147.         DrawSizedBitmap(0,0,639,479,Image13$)
  148.     Endif
  149.     WinShow(Title$,TOPMOST,Res)
  150.  
  151.     UseCursor(WAIT)
  152.     DrawStatusWinText(0,"Running Edge Detection...")
  153.     WaitInput(100)
  154.     EdgeDetectImage(Res)
  155.     UseCursor(ARROW)
  156.     DrawSizedBitmap(0,0,639,479,Image13$)
  157.  
  158.  
  159.     DrawStatusWinText(0,"")
  160.     Goto Wait_for_Input
  161.  
  162. BitmapParameters:
  163.     TWAIN_GetBitmapParams(Handle,Lines,Pixels,Bits,Colors)
  164.     DrawText(400,20,"Handle = ") DrawNumber(500,20,Handle)
  165.     DrawText(400,50,"Lines = ") DrawNumber(500,50,Lines)
  166.     DrawText(400,80,"Pixels = ") DrawNumber(500,80,Pixels)
  167.     DrawText(400,110,"Bits = ") DrawNumber(500,110,Bits)
  168.     DrawText(400,140,"ColorMap = ") DrawNumber(500,140,Colors)
  169.  
  170.     WinShow(Title$,NOTOPMOST,Res)
  171.     UseCursor(WAIT)
  172.     TWAIN_LoadSourceManager(Res)
  173.     TWAIN_OpenSourceManager(Res)
  174.     TWAIN_OpenDefaultSource(Res)
  175.     TWAIN_GetState(State)
  176.     If State <> 4 Then Beep Beep Goto Wait_for_Input
  177.     TWAIN_GetPixelType(Type)
  178.     DrawText(400,170,"Pixel Type = ")  DrawNumber(500,170,Type)
  179.  
  180.     TWAIN_SetCurrentUnits(CENTIMETERS,Res)
  181.     TWAIN_GetCurrentUnits(Units)
  182.     If Units = 0 Then DrawText(400,190,"Units = INCHES")
  183.     If Units = 1 Then DrawText(400,190,"Units = CENTIMETERS")
  184.     If Units = 2 Then DrawText(400,190,"Units = PICAS")
  185.     If Units = 3 Then DrawText(400,190,"Units = POINTS")
  186.     If Units = 4 Then DrawText(400,190,"Units = TWIPS")
  187.     If Units = 5 Then DrawText(400,190,"Units = PIXELS")
  188.     TWAIN_GetCurrentRes(Resolution)
  189.     DrawText(400,210,"Resolution = ")  DrawNumber(500,210,Resolution)
  190.     UseCursor(ARROW)
  191.     {clean up TWAIN access: should really be done for good coding practice,
  192.          though PiXCL will clean up when it exits.}
  193.     {TWAIN_CloseSource(Res)
  194.     TWAIN_CloseSourceManager(Res)
  195.     TWAIN_UnLoadSourceManager(Res)}
  196.     Goto Wait_for_Input
  197.  
  198. AcquireAnImage2:
  199.     DrawBackground
  200.     DrawStatusWinText(0,"Enable source and acquire an image...")
  201.     WaitInput(1)
  202.     WinShow(Title$,NOTOPMOST,Res)
  203.     UseCursor(WAIT)
  204.     TWAIN_EnableSource(Res)
  205.     TWAIN_AcquireToClipboard(Res)
  206.     If Res = 0 Then DrawStatusWinText(0,"Acquire to Clipboard Failed")
  207.     If Res = 1 Then DrawStatusWinText(0,"Acquire to Clipboard Successful")
  208.     UseCursor(ARROW)
  209.     Goto Wait_for_Input
  210.  
  211. ClearClipboard:
  212.     ClipboardEmpty  {Clears out all text and binary data}
  213.     Goto Wait_for_Input
  214.  
  215. AcquireAnImage3:
  216.     DrawBackground
  217.     DrawStatusWinText(0,"Enable source and acquire an image...")
  218.     WaitInput(1)
  219.     WinShow(Title$,NOTOPMOST,Res)
  220.     UseCursor(WAIT)
  221.     TWAIN_EnableSource(Res)
  222.     TWAIN_AcquireToFilename("",Res)
  223.     If Res = 0 Then DrawStatusWinText(0,"Acquire to File Failed")
  224.     If Res = 1 
  225.         DrawStatusWinText(0,"Acquire to File Successful")
  226.         FreeBitmap(Image13$)
  227.         DrawBitmap(0,0,Image13$)
  228.     Endif
  229.     UseCursor(ARROW)
  230.  
  231.     Goto Wait_for_Input
  232.  
  233.  
  234. AddBitmap:
  235.     LoadBitmap(Image1$,FULL)
  236.     Goto Wait_for_Input
  237.  
  238. FreeList:
  239.     FreeBitmapAll
  240.     Goto Wait_for_Input
  241.  
  242. ListList:
  243.     ListLoadedBitmaps(List$,CR$,Count)
  244.     If Count > 0
  245.         MessageBox(OK,1,INFORMATION,List$,"Loaded bitmaps",Res)
  246.         DrawBitmap(0,0,Image13$)
  247.     Endif
  248.     Goto Wait_for_Input
  249.  
  250.